package ReflectDemo;
/*
    三种方式获取Class对象
        1.使用类的class属性来获取该类对应的Class对象。举例：Stud.class将会返回Stud类对应的Class对象
        2.调用对象的getClass()方法，返回该对象所属类对应的Class对象。
            该方法是Object类中的方法，所有的Java对象都可以调用该方法。
        3.使用Class类中的静态方法 forName(String className),该方法需要传入字符串参数，该字符串参数的值是某个类的全路径

 */
public class ReflectDemo1 {
    public static void main(String[] args) throws ClassNotFoundException {

        Class<Stu> stuClass1 = Stu.class;
        System.out.println(stuClass1);
        Class<Stu> stuClass2 = Stu.class;
        System.out.println(stuClass1 == stuClass2);
        System.out.println("--------");

        Stu stu = new Stu();
        Class<? extends Stu> studClass = stu.getClass();
        System.out.println(studClass == stuClass1);
        System.out.println("--------");

        Class<?> forName = Class.forName("ReflectDemo.Stu");
        System.out.println(stuClass1 == forName);
    }
}

